[アップデート] AWS Organizations で CloudFormation StackSets の委任管理者設定ができるようになりました
はじめに
以下アップデートの紹介です。
委任したメンバーアカウント上で CloudFormation(CFn) StackSets を 組織/OU単位で展開・管理できるようになりました。
なにが嬉しいのか?
- マネジメントアカウントを触らずに、組織/OU単位の CFn StackSet の展開・管理ができるようになります
- 「最小限の特権の原則」のセキュリティベストプラクティスを CFn StackSets でも採用できるようになりました
マネジメントアカウントはなるべく触りたくないです 。 「サービスコントロール(SCP)による組織全体のアクセス制御」や 今回みたいな 「Organizaitons連携で組織/OU単位で設定できるサービス」が多く、 組織全体に与える影響範囲が大きいためです。
そのため、いくつかの Organizations 連携のサービスは メンバーアカウントを委任管理者に任命 することで、 そのサービスの業務をメンバーアカウントへ委任できます。以下サービスが代表例です。
- AWS Config
- AWS Security Hub
- Amazon GuardDuty
委任管理者を設定するモチベーションは 「最小限の特権の原則」のセキュリティベストプラクティス です 。 このベストプラクティスに則って、マネジメントアカウント外へ責任を委任することが推奨されています。
このベストプラクティスを CFn StackSetsでも採用できるようになった点が、このアップデートの嬉しさです。
そもそも CFn StackSets のOrganizations連携って何?
以下参照ください。
やってみる
(事前準備) アクセスの有効化
いままでマネジメントアカウントで CFn StackSets を使っていなかった場合は、 「CFn StackSets の Organizations 連携」を許可する必要があります。
以下ブログ参照ください。
委任管理者の設定
マネジメントアカウントで CFn StackSets画面に行くと以下のような 委任された管理者
項目が表示されています。
「委任された管理者を登録」してみましょう。
委任管理者となる メンバーアカウントのアカウントIDを入力して登録しましょう。
ちなみに委任管理者は以下のように複数(最大 5アカウント)登録できます。
確認
委任管理者となったメンバーアカウントの CFn StackSets 画面へ切り替えます。 以下のように 委任管理者である旨が表示されていますね。
適当に StackSets を作成してみます。 Organizations 連携特有の設定項目のみピックアップして説明します。
アクセス許可に サービスマネージドアクセス許可
を選択できます。
デプロイターゲットに 組織/OUを選択できるようになっています。
問題なく展開できました。
展開した StackSets は サービスマネージド
の欄に表示されます。
これまでマネジメントアカウントで展開していた (サービスマネージドな) StackSets も管理できます。 これは嬉しい。
おわりに
AWS Organizations 環境でなにかと利用頻度の高かった CFn StackSets の委任設定ができるようになって、 嬉しい方は多いと思います!